Digital filters have become increasingly commonplace in signal processing applications, as they can achieve virtually any filtering effect that can be expressed as a mathematical algorithm. Digital filters exhibit many advantages such as, for example, high reliability, minimal drift over time or in changing conditions, and superior transmission performance. A digital filter can include one or more taps, the number of taps depending, at least in part, upon the desired accuracy in realizing the nominal characteristics of the filter. An increase in the number of sections a digital filter provides a corresponding increase in the accuracy to which the desired filter characteristics can be obtained.
To implement a digital filter, it is necessary to provide a filter coefficient, or tap value, for each tap of the filter. This can be accomplished by storing the tap value at a desired resolution in a memory of a device employing the filter. Increasing the resolution of the tap values increases the accuracy at which a desired tap value can be expressed, and accordingly, the accuracy with which desired filter characteristics can be obtained. It will be appreciated, however, that increasing the number or resolution of the tap values in a filter exponentially increases the number of tap value combinations, and thus the computational expense, of determining an optimal set of values for a given filter. There is, therefore, a trade-off between the time necessary to configure a digital filter for a given application (e.g., at a system initialization), and the degree to which desired filter characteristics can be achieved.